Computer science homework – chapters 50, 51 and 52

Link to home page

Definitions

Designing algorythms

When designing an algorythm plan it using a flow chart or pseudocode to plan your projects and remove possible logic errors before they occur

Problem solving methods and techniques

  1. Enumeration: The brute force solution, very inefficient and only works when there are a finnite number of possible solutions
  2. Simulation: Abstracting a problem down to it's key components to understand the how the problem works. This could also invole a phisical or digital model to study it's behavior
  3. Theoretical approach: According to the textbook this is just the same as enumeration
  4. Creative solution: The textbook lists this but doesn't acctualy explain what it is, presumably it is combining other problem solving methods to solve the problem quickly and efficiently
  5. Divide and conquer: Iteration where you remove possible solution every iteration, eg binary search
  6. Abstraction: Simplifying a problem down to it's key components
  7. Automation: building and using models to test results
  8. Visualisation: Representing data differently to better understand how it works
  9. Backtracking: Trying different sequences of solutions and then going back in the sequence and retrying a different route (brute force with extra steps). eg a maze
  10. Data mining: Analysing large data sets to find patterns and predict future patterns
  11. Heuristic methods: Approximating the solution to a problem to save time in exchange for accuracy
  12. Performance modelling: Using a computer simulation instead of testing in the real world to save time and money
  13. Pipelining: Splitting a task into smaller parts and doing each part concurently (jsut parallel computing?). eg done in the FDE cycle

Pictured bellow: an abstraction of how another textbook homework made me feel. It is very large because I was very sad.